home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / util / wb / muispeak.lha / src / Speak.c < prev    next >
C/C++ Source or Header  |  1994-11-28  |  18KB  |  769 lines

  1. #ifndef MAKE_ID
  2. #define MAKE_ID(a,b,c,d) ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
  3. #endif
  4.  
  5. #ifdef _DCC
  6. #define __inline
  7. #endif
  8.  
  9. #include "Speak.h"
  10. #include "SpeakStrings_cat.h"
  11.  
  12. extern char* GetString(int);
  13.  
  14. char *GetMBString(int ref)
  15. {
  16.     char *aux;
  17.  
  18.     aux = GetString(ref);
  19.     if (aux[1] == '\0') return(&aux[0]);
  20.     else                return(aux);
  21. }
  22.  
  23. struct ObjApp * CreateApp(void)
  24. {
  25.     struct ObjApp * Object;
  26.  
  27.     APTR    MN_label_0Projekt, MN_label_0Quit, MN_label_1Projekt, MN_label_1About;
  28.     APTR    MN_label_1Quit, GROUP_ROOT_0, GR_grp_0, GR_grp_12, GR_grp_10, GR_grp_3;
  29.     APTR    GR_grp_3CC, GR_grp_6, obj_aux0, obj_aux1, GROUP_ROOT_1;
  30.  
  31.     if (!(Object = AllocVec(sizeof(struct ObjApp), MEMF_PUBLIC|MEMF_CLEAR)))
  32.         return(NULL);
  33.  
  34.     Object->STR_TX_label_0 = GetMBString(MSG_TX_label_0);
  35.     Object->STR_TX_label_1 = GetMBString(MSG_TX_label_1);
  36.     Object->STR_TX_label_4CC = GetMBString(MSG_TX_label_4CC);
  37.     Object->STR_TX_label_2 = GetMBString(MSG_TX_label_2);
  38.     Object->STR_TX_label_3 = GetMBString(MSG_TX_label_3);
  39.     Object->STR_TX_label_4 = GetMBString(MSG_TX_label_4);
  40.     Object->STR_TX_label_5 = GetMBString(MSG_TX_label_5);
  41.     Object->STR_TX_label_6 = GetMBString(MSG_TX_label_6);
  42.     Object->STR_TX_F1ADJ = GetMBString(MSG_TX_F1ADJ);
  43.     Object->STR_TX_F2ADJ = GetMBString(MSG_TX_F2ADJ);
  44.     Object->STR_TX_F3ADJ = GetMBString(MSG_TX_F3ADJ);
  45.     Object->STR_TX_A1ADJ = GetMBString(MSG_TX_A1ADJ);
  46.     Object->STR_TX_A2ADJ = GetMBString(MSG_TX_A2ADJ);
  47.     Object->STR_TX_A3ADJ = GetMBString(MSG_TX_A3ADJ);
  48.     Object->STR_TX_ARTIC = GetMBString(MSG_TX_ARTIC);
  49.     Object->STR_TX_AVBIAS = GetMBString(MSG_TX_AVBIAS);
  50.     Object->STR_TX_AFBIAS = GetMBString(MSG_TX_AFBIAS);
  51.     Object->STR_TX_CENT = GetMBString(MSG_TX_CENT);
  52.     Object->STR_TX_PHONEME = NULL;
  53.     Object->STR_TX_label_7 = GetMBString(MSG_TX_label_7);
  54.  
  55.     Object->CY_SEXContent[0] = GetMBString(MSG_CY_SEX0);
  56.     Object->CY_SEXContent[1] = GetMBString(MSG_CY_SEX1);
  57.     Object->CY_SEXContent[2] = NULL;
  58.     Object->CY_KINDContent[0] = GetMBString(MSG_CY_KIND0);
  59.     Object->CY_KINDContent[1] = GetMBString(MSG_CY_KIND1);
  60.     Object->CY_KINDContent[2] = GetMBString(MSG_CY_KIND2);
  61.     Object->CY_KINDContent[3] = NULL;
  62.     Object->CY_OUTPUTContent[0] = GetMBString(MSG_CY_OUTPUT0);
  63.     Object->CY_OUTPUTContent[1] = GetMBString(MSG_CY_OUTPUT1);
  64.     Object->CY_OUTPUTContent[2] = GetMBString(MSG_CY_OUTPUT2);
  65.     Object->CY_OUTPUTContent[3] = NULL;
  66.     Object->CY_LANGUAGEContent[0] = "Deutsch";
  67.     Object->CY_LANGUAGEContent[1] = "English";
  68.     Object->CY_LANGUAGEContent[2] = NULL;
  69.  
  70.     Object->STR_GR_grp_10[0] = GetMBString(MSG_GR_grp_100);
  71.     Object->STR_GR_grp_10[1] = GetMBString(MSG_GR_grp_101);
  72.     Object->STR_GR_grp_10[2] = NULL;
  73.  
  74.     Object->TX_label_0 = TextObject,
  75.         MUIA_HelpNode, "TX_label_0",
  76.         MUIA_Background, MUII_BACKGROUND,
  77.         MUIA_Text_Contents, Object->STR_TX_label_0,
  78.         MUIA_Text_SetMin, TRUE,
  79.     End;
  80.  
  81.     Object->CY_SEX = CycleObject,
  82.         MUIA_HelpNode, "CY_SEX",
  83.         MUIA_Cycle_Entries, Object->CY_SEXContent,
  84.     End;
  85.  
  86.     Object->TX_label_1 = TextObject,
  87.         MUIA_HelpNode, "TX_label_1",
  88.         MUIA_Background, MUII_BACKGROUND,
  89.         MUIA_Text_Contents, Object->STR_TX_label_1,
  90.         MUIA_Text_SetMin, TRUE,
  91.     End;
  92.  
  93.     Object->CY_KIND = CycleObject,
  94.         MUIA_HelpNode, "CY_KIND",
  95.         MUIA_Cycle_Entries, Object->CY_KINDContent,
  96.     End;
  97.  
  98.     Object->TX_label_4CC = TextObject,
  99.         MUIA_HelpNode, "TX_label_4CC",
  100.         MUIA_Background, MUII_BACKGROUND,
  101.         MUIA_Text_Contents, Object->STR_TX_label_4CC,
  102.         MUIA_Text_SetMin, TRUE,
  103.     End;
  104.  
  105.     Object->CY_OUTPUT = CycleObject,
  106.         MUIA_HelpNode, "CY_OUTPUT",
  107.         MUIA_Cycle_Entries, Object->CY_OUTPUTContent,
  108.     End;
  109.  
  110.     Object->TX_label_2 = TextObject,
  111.         MUIA_HelpNode, "TX_label_2",
  112.         MUIA_Background, MUII_BACKGROUND,
  113.         MUIA_Text_Contents, Object->STR_TX_label_2,
  114.         MUIA_Text_SetMin, TRUE,
  115.     End;
  116.  
  117.     Object->SL_HEIGHT = SliderObject,
  118.         MUIA_HelpNode, "SL_HEIGHT",
  119.         MUIA_Slider_Min, 65,
  120.         MUIA_Slider_Max, 320,
  121.         MUIA_Slider_Level, 150,
  122.     End;
  123.  
  124.     Object->TX_label_3 = TextObject,
  125.         MUIA_HelpNode, "TX_label_3",
  126.         MUIA_Background, MUII_BACKGROUND,
  127.         MUIA_Text_Contents, Object->STR_TX_label_3,
  128.         MUIA_Text_SetMin, TRUE,
  129.     End;
  130.  
  131.     Object->SL_SPEED = SliderObject,
  132.         MUIA_HelpNode, "SL_SPEED",
  133.         MUIA_Slider_Min, 40,
  134.         MUIA_Slider_Max, 400,
  135.         MUIA_Slider_Level, 100,
  136.     End;
  137.  
  138.     Object->TX_label_4 = TextObject,
  139.         MUIA_HelpNode, "TX_label_4",
  140.         MUIA_Background, MUII_BACKGROUND,
  141.         MUIA_Text_Contents, Object->STR_TX_label_4,
  142.         MUIA_Text_SetMin, TRUE,
  143.     End;
  144.  
  145.     Object->SL_VOLUME = SliderObject,
  146.         MUIA_HelpNode, "SL_VOLUME",
  147.         MUIA_Slider_Min, 0,
  148.         MUIA_Slider_Max, 64,
  149.         MUIA_Slider_Level, 64,
  150.     End;
  151.  
  152.     Object->TX_label_lang = TextObject,
  153.         MUIA_HelpNode, (APTR) "TX_label_5",
  154.         MUIA_Background, MUII_BACKGROUND,
  155.         MUIA_Text_Contents, GetMBString(MSG_LANGUAGE),
  156.         MUIA_Text_SetMin, TRUE,
  157.     End;
  158.  
  159.  
  160.     Object->CY_LANGUAGE = CycleObject,
  161.         MUIA_HelpNode, "CY_LANGUAGE",
  162.         MUIA_Cycle_Entries, Object->CY_LANGUAGEContent,
  163.     End;
  164.  
  165.  
  166.     GR_grp_0 = GroupObject,
  167.         MUIA_Frame, MUIV_Frame_Group,
  168.         MUIA_FrameTitle, GetMBString(MSG_GR_grp_0Title),
  169.         MUIA_Group_Columns, 2,
  170.         Child, Object->TX_label_0,
  171.         Child, Object->CY_SEX,
  172.         Child, Object->TX_label_1,
  173.         Child, Object->CY_KIND,
  174.         Child, Object->TX_label_4CC,
  175.         Child, Object->CY_OUTPUT,
  176.         Child, Object->TX_label_2,
  177.         Child, Object->SL_HEIGHT,
  178.         Child, Object->TX_label_3,
  179.         Child, Object->SL_SPEED,
  180.         Child, Object->TX_label_4,
  181.         Child, Object->SL_VOLUME,
  182.         Child, Object->TX_label_lang,
  183.         Child, Object->CY_LANGUAGE,
  184.  
  185.     End;
  186.  
  187.     Object->TX_label_5 = TextObject,
  188.         MUIA_HelpNode, "TX_label_5",
  189.         MUIA_Background, MUII_BACKGROUND,
  190.         MUIA_Text_Contents, Object->STR_TX_label_5,
  191.         MUIA_Text_SetMin, TRUE,
  192.     End;
  193.  
  194.     Object->SL_ENTHUSIASMUS = SliderObject,
  195.         MUIA_HelpNode, "SL_ENTHUSIASMUS",
  196.         MUIA_Slider_Min, 0,
  197.         MUIA_Slider_Max, 255,
  198.         MUIA_Slider_Level, 0,
  199.     End;
  200.  
  201.     Object->TX_label_6 = TextObject,
  202.         MUIA_HelpNode, "TX_label_6",
  203.         MUIA_Background, MUII_BACKGROUND,
  204.         MUIA_Text_Contents, Object->STR_TX_label_6,
  205.         MUIA_Text_SetMin, TRUE,
  206.     End;
  207.  
  208.     Object->SL_PERTUBATION = SliderObject,
  209.         MUIA_HelpNode, "SL_PERTUBATION",
  210.         MUIA_Slider_Min, 0,
  211.         MUIA_Slider_Max, 255,
  212.         MUIA_Slider_Level, 0,
  213.     End;
  214.  
  215.     Object->TX_F1ADJ = TextObject,
  216.         MUIA_HelpNode, "TX_F1ADJ",
  217.         MUIA_Background, MUII_BACKGROUND,
  218.         MUIA_Text_Contents, Object->STR_TX_F1ADJ,
  219.         MUIA_Text_SetMin, TRUE,
  220.     End;
  221.  
  222.     Object->SL_F1ADJ = SliderObject,
  223.         MUIA_HelpNode, "SL_F1ADJ",
  224.         MUIA_Slider_Min, -100,
  225.         MUIA_Slider_Max, 100,
  226.         MUIA_Slider_Level, 0,
  227.     End;
  228.  
  229.     Object->TX_F2ADJ = TextObject,
  230.         MUIA_HelpNode, "TX_F2ADJ",
  231.         MUIA_Background, MUII_BACKGROUND,
  232.         MUIA_Text_Contents, Object->STR_TX_F2ADJ,
  233.         MUIA_Text_SetMin, TRUE,
  234.     End;
  235.  
  236.     Object->SL_F2ADJ = SliderObject,
  237.         MUIA_HelpNode, "SL_F2ADJ",
  238.         MUIA_Slider_Min, -100,
  239.         MUIA_Slider_Max, 100,
  240.         MUIA_Slider_Level, 0,
  241.     End;
  242.  
  243.     Object->TX_F3ADJ = TextObject,
  244.         MUIA_HelpNode, "TX_F3ADJ",
  245.         MUIA_Background, MUII_BACKGROUND,
  246.         MUIA_Text_Contents, Object->STR_TX_F3ADJ,
  247.         MUIA_Text_SetMin, TRUE,
  248.     End;
  249.  
  250.     Object->SL_F3ADJ = SliderObject,
  251.         MUIA_HelpNode, "SL_F3ADJ",
  252.         MUIA_Slider_Min, -100,
  253.         MUIA_Slider_Max, 100,
  254.         MUIA_Slider_Level, 0,
  255.     End;
  256.  
  257.     Object->TX_A1ADJ = TextObject,
  258.         MUIA_HelpNode, "TX_A1ADJ",
  259.         MUIA_Background, MUII_BACKGROUND,
  260.         MUIA_Text_Contents, Object->STR_TX_A1ADJ,
  261.         MUIA_Text_SetMin, TRUE,
  262.     End;
  263.  
  264.     Object->SL_A1ADJ = SliderObject,
  265.         MUIA_HelpNode, "SL_A1ADJ",
  266.         MUIA_Slider_Min, -31,
  267.         MUIA_Slider_Max, 32,
  268.         MUIA_Slider_Level, 0,
  269.     End;
  270.  
  271.     GR_grp_3 = GroupObject,
  272.         MUIA_Group_Columns, 2,
  273.         Child, Object->TX_label_5,
  274.         Child, Object->SL_ENTHUSIASMUS,
  275.         Child, Object->TX_label_6,
  276.         Child, Object->SL_PERTUBATION,
  277.         Child, Object->TX_F1ADJ,
  278.         Child, Object->SL_F1ADJ,
  279.         Child, Object->TX_F2ADJ,
  280.         Child, Object->SL_F2ADJ,
  281.         Child, Object->TX_F3ADJ,
  282.         Child, Object->SL_F3ADJ,
  283.         Child, Object->TX_A1ADJ,
  284.         Child, Object->SL_A1ADJ,
  285.     End;
  286.  
  287.     Object->TX_A2ADJ = TextObject,
  288.         MUIA_HelpNode, "TX_A2ADJ",
  289.         MUIA_Background, MUII_BACKGROUND,
  290.         MUIA_Text_Contents, Object->STR_TX_A2ADJ,
  291.         MUIA_Text_SetMin, TRUE,
  292.     End;
  293.  
  294.     Object->SL_A2ADJ = SliderObject,
  295.         MUIA_HelpNode, "SL_A2ADJ",
  296.         MUIA_Slider_Min, -31,
  297.         MUIA_Slider_Max, 32,
  298.         MUIA_Slider_Level, 0,
  299.     End;
  300.  
  301.     Object->TX_A3ADJ = TextObject,
  302.         MUIA_HelpNode, "TX_A3ADJ",
  303.         MUIA_Background, MUII_BACKGROUND,
  304.         MUIA_Text_Contents, Object->STR_TX_A3ADJ,
  305.         MUIA_Text_SetMin, TRUE,
  306.     End;
  307.  
  308.     Object->SL_A3ADJ = SliderObject,
  309.         MUIA_HelpNode, "SL_A3ADJ",
  310.         MUIA_Slider_Min, -31,
  311.         MUIA_Slider_Max, 32,
  312.         MUIA_Slider_Level, 0,
  313.     End;
  314.  
  315.     Object->TX_ARTIC = TextObject,
  316.         MUIA_HelpNode, "TX_ARTIC",
  317.         MUIA_Background, MUII_BACKGROUND,
  318.         MUIA_Text_Contents, Object->STR_TX_ARTIC,
  319.         MUIA_Text_SetMin, TRUE,
  320.     End;
  321.  
  322.     Object->SL_ARTIC = SliderObject,
  323.         MUIA_HelpNode, "SL_ARTIC",
  324.         MUIA_Slider_Min, 0,
  325.         MUIA_Slider_Max, 400,
  326.         MUIA_Slider_Level, 0,
  327.     End;
  328.  
  329.     Object->TX_AVBIAS = TextObject,
  330.         MUIA_HelpNode, "TX_AVBIAS",
  331.         MUIA_Background, MUII_BACKGROUND,
  332.         MUIA_Text_Contents, Object->STR_TX_AVBIAS,
  333.         MUIA_Text_SetMin, TRUE,
  334.     End;
  335.  
  336.     Object->SL_AVBIAS = SliderObject,
  337.         MUIA_HelpNode, "SL_AVBIAS",
  338.         MUIA_Slider_Min, -31,
  339.         MUIA_Slider_Max, 32,
  340.         MUIA_Slider_Level, 0,
  341.     End;
  342.  
  343.     Object->TX_AFBIAS = TextObject,
  344.         MUIA_HelpNode, "TX_AFBIAS",
  345.         MUIA_Background, MUII_BACKGROUND,
  346.         MUIA_Text_Contents, Object->STR_TX_AFBIAS,
  347.         MUIA_Text_SetMin, TRUE,
  348.     End;
  349.  
  350.     Object->SL_AFBIAS = SliderObject,
  351.         MUIA_HelpNode, "SL_AFBIAS",
  352.         MUIA_Slider_Min, -31,
  353.         MUIA_Slider_Max, 32,
  354.         MUIA_Slider_Level, 0,
  355.     End;
  356.  
  357.     Object->TX_CENT = TextObject,
  358.         MUIA_HelpNode, "TX_CENT",
  359.         MUIA_Background, MUII_BACKGROUND,
  360.         MUIA_Text_Contents, Object->STR_TX_CENT,
  361.         MUIA_Text_SetMin, TRUE,
  362.     End;
  363.  
  364.     Object->SL_CENT = SliderObject,
  365.         MUIA_HelpNode, "SL_CENT",
  366.         MUIA_Slider_Min, 0,
  367.         MUIA_Slider_Max, 100,
  368.         MUIA_Slider_Level, 0,
  369.     End;
  370.  
  371.     GR_grp_3CC = GroupObject,
  372.         MUIA_Group_Columns, 2,
  373.         Child, Object->TX_A2ADJ,
  374.         Child, Object->SL_A2ADJ,
  375.         Child, Object->TX_A3ADJ,
  376.         Child, Object->SL_A3ADJ,
  377.         Child, Object->TX_ARTIC,
  378.         Child, Object->SL_ARTIC,
  379.         Child, Object->TX_AVBIAS,
  380.         Child, Object->SL_AVBIAS,
  381.         Child, Object->TX_AFBIAS,
  382.         Child, Object->SL_AFBIAS,
  383.         Child, Object->TX_CENT,
  384.         Child, Object->SL_CENT,
  385.     End;
  386.  
  387.     GR_grp_10 = RegisterObject,
  388.         MUIA_Register_Titles, Object->STR_GR_grp_10,
  389.         MUIA_HelpNode, "GR_grp_10",
  390.         MUIA_Frame, MUIV_Frame_Group,
  391.         Child, GR_grp_3,
  392.         Child, GR_grp_3CC,
  393.     End;
  394.  
  395.     Object->STR_TEXT = StringObject,
  396.         MUIA_Frame, MUIV_Frame_String,
  397.         MUIA_HelpNode, "STR_TEXT",
  398.         MUIA_String_MaxLen, 255,
  399.     End;
  400.  
  401.     obj_aux1 = Label2(GetMBString(MSG_STR_TEXT));
  402.  
  403.     obj_aux0 = GroupObject,
  404.         MUIA_Group_Columns, 2,
  405.         Child, obj_aux1,
  406.         Child, Object->STR_TEXT,
  407.     End;
  408.  
  409.     Object->TX_PHONEME = TextObject,
  410.         MUIA_Frame, MUIV_Frame_Text,
  411.         MUIA_Text_Contents, Object->STR_TX_PHONEME,
  412.         MUIA_Text_SetMin, TRUE,
  413.     End;
  414.  
  415.     Object->BT_SPEAK = SimpleButton(GetMBString(MSG_BT_SPEAK));
  416.  
  417.     GR_grp_6 = GroupObject,
  418.         Child, obj_aux0,
  419.         Child, Object->TX_PHONEME,
  420.         Child, Object->BT_SPEAK,
  421.     End;
  422.  
  423.     GR_grp_12 = GroupObject,
  424.         MUIA_HelpNode, "GR_grp_12",
  425.         MUIA_Frame, MUIV_Frame_Group,
  426.         Child, GR_grp_10,
  427.         Child, GR_grp_6,
  428.     End;
  429.  
  430.     GROUP_ROOT_0 = GroupObject,
  431.         Child, GR_grp_0,
  432.         Child, GR_grp_12,
  433.     End;
  434.  
  435.     MN_label_1About = MenuitemObject,
  436.         MUIA_Menuitem_Title, GetMBString(MSG_MN_label_1About),
  437.         MUIA_Menuitem_Shortcut, GetMBString(MSG_MN_label_1AboutChar),
  438.     End;
  439.  
  440.     MN_label_1Quit = MenuitemObject,
  441.         MUIA_Menuitem_Title, GetMBString(MSG_MN_label_1Quit),
  442.         MUIA_Menuitem_Shortcut, GetMBString(MSG_MN_label_1QuitChar),
  443.     End;
  444.  
  445.     MN_label_1Projekt = MenuObject,
  446.         MUIA_Menu_Title, GetMBString(MSG_MN_label_1Projekt),
  447.         MUIA_Family_Child, MN_label_1About,
  448.         MUIA_Family_Child, MN_label_1Quit,
  449.     End;
  450.  
  451.     Object->MN_label_1 = MenustripObject,
  452.         MUIA_Family_Child, MN_label_1Projekt,
  453.     End;
  454.  
  455.     Object->WIN_Main = WindowObject,
  456.         MUIA_Window_Title, GetMBString(MSG_WIN_Main),
  457.         MUIA_HelpNode, "WIN_Main",
  458.         MUIA_Window_Menustrip, Object->MN_label_1,
  459.         MUIA_Window_ID, MAKE_ID('0', 'W', 'I', 'N'),
  460.         WindowContents, GROUP_ROOT_0,
  461.     End;
  462.  
  463.     Object->TX_label_7 = TextObject,
  464.         MUIA_Background, MUII_HSHINEBACK,
  465.         MUIA_Text_Contents, Object->STR_TX_label_7,
  466.         MUIA_Text_SetMin, TRUE,
  467.     End;
  468.  
  469.     Object->BT_OK = SimpleButton(GetMBString(MSG_BT_OK));
  470.  
  471.     GROUP_ROOT_1 = GroupObject,
  472.         Child, Object->TX_label_7,
  473.         Child, Object->BT_OK,
  474.     End;
  475.  
  476.     Object->WIN_About = WindowObject,
  477.         MUIA_Window_Title, GetMBString(MSG_WIN_About),
  478.         MUIA_Window_ID, MAKE_ID('1', 'W', 'I', 'N'),
  479.         MUIA_Window_SizeGadget, FALSE,
  480.         WindowContents, GROUP_ROOT_1,
  481.     End;
  482.  
  483.     MN_label_0Quit = MenuitemObject,
  484.         MUIA_Menuitem_Title, GetMBString(MSG_MN_label_0Quit),
  485.         MUIA_Menuitem_Shortcut, GetMBString(MSG_MN_label_0QuitChar),
  486.     End;
  487.  
  488.     MN_label_0Projekt = MenuObject,
  489.         MUIA_Menu_Title, GetMBString(MSG_MN_label_0Projekt),
  490.         MUIA_Family_Child, MN_label_0Quit,
  491.     End;
  492.  
  493.     Object->MN_label_0 = MenustripObject,
  494.         MUIA_Family_Child, MN_label_0Projekt,
  495.     End;
  496.  
  497.     Object->App = ApplicationObject,
  498.         MUIA_Application_Author, "Andreas Jung, Klosterstr. 21, D-66125 Saarbrücken, Germany",
  499.         MUIA_Application_Menustrip, Object->MN_label_0,
  500.         MUIA_Application_Base, "MUISPEAK",
  501.         MUIA_Application_Title, "MUI Speak",
  502.         MUIA_Application_Version, "$VER: MuiSpeak 0.04 (27.11.94)",
  503.         MUIA_Application_Copyright, GetMBString(MSG_AppCopyright),
  504.         MUIA_Application_Description, GetMBString(MSG_AppDescription),
  505.         SubWindow, Object->WIN_Main,
  506.         SubWindow, Object->WIN_About,
  507.     End;
  508.  
  509.  
  510.     if (!Object->App)
  511.     {
  512.         FreeVec(Object);
  513.         return(NULL);
  514.     }
  515.  
  516.     DoMethod(MN_label_0Quit,
  517.         MUIM_Notify, MUIA_Menuitem_Trigger, MUIV_EveryTime,
  518.         Object->App,
  519.         2,
  520.         MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit
  521.         );
  522.  
  523.     DoMethod(MN_label_1About,
  524.         MUIM_Notify, MUIA_Menuitem_Trigger, MUIV_EveryTime,
  525.         Object->WIN_About,
  526.         3,
  527.         MUIM_Set, MUIA_Window_Open, TRUE
  528.         );
  529.  
  530.     DoMethod(MN_label_1Quit,
  531.         MUIM_Notify, MUIA_Menuitem_Trigger, MUIV_EveryTime,
  532.         Object->App,
  533.         2,
  534.         MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit
  535.         );
  536.  
  537.     DoMethod(Object->WIN_Main,
  538.         MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
  539.         Object->App,
  540.         2,
  541.         MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit
  542.         );
  543.  
  544.     DoMethod(Object->CY_SEX,
  545.         MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime,
  546.         Object->App,
  547.         2,
  548.         MUIM_Application_ReturnID, RET_SEX
  549.         );
  550.  
  551.     DoMethod(Object->CY_LANGUAGE,
  552.         MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime,
  553.         Object->App,
  554.         2,
  555.         MUIM_Application_ReturnID, RET_LANGUAGE
  556.         );
  557.  
  558.     DoMethod(Object->CY_KIND,
  559.         MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime,
  560.         Object->App,
  561.         2,
  562.         MUIM_Application_ReturnID, RET_KIND
  563.         );
  564.  
  565.     DoMethod(Object->CY_OUTPUT,
  566.         MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime,
  567.         Object->App,
  568.         2,
  569.         MUIM_Application_ReturnID, RET_OUTPUT
  570.         );
  571.  
  572.     DoMethod(Object->SL_HEIGHT,
  573.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  574.         Object->App,
  575.         2,
  576.         MUIM_Application_ReturnID, RET_HEIGHT
  577.         );
  578.  
  579.     DoMethod(Object->SL_SPEED,
  580.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  581.         Object->App,
  582.         2,
  583.         MUIM_Application_ReturnID, RET_SPEED
  584.         );
  585.  
  586.     DoMethod(Object->SL_VOLUME,
  587.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  588.         Object->App,
  589.         2,
  590.         MUIM_Application_ReturnID, RET_VOLUME
  591.         );
  592.  
  593.     DoMethod(Object->SL_ENTHUSIASMUS,
  594.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  595.         Object->App,
  596.         2,
  597.         MUIM_Application_ReturnID, RET_ENTHU
  598.         );
  599.  
  600.     DoMethod(Object->SL_PERTUBATION,
  601.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  602.         Object->App,
  603.         2,
  604.         MUIM_Application_ReturnID, RET_PERTUB
  605.         );
  606.  
  607.     DoMethod(Object->SL_F1ADJ,
  608.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  609.         Object->App,
  610.         2,
  611.         MUIM_Application_ReturnID, RET_F1ADJ
  612.         );
  613.  
  614.     DoMethod(Object->SL_F2ADJ,
  615.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  616.         Object->App,
  617.         2,
  618.         MUIM_Application_ReturnID, RET_F2ADJ
  619.         );
  620.  
  621.     DoMethod(Object->SL_F3ADJ,
  622.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  623.         Object->App,
  624.         2,
  625.         MUIM_Application_ReturnID, RET_F3ADJ
  626.         );
  627.  
  628.     DoMethod(Object->SL_A1ADJ,
  629.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  630.         Object->App,
  631.         2,
  632.         MUIM_Application_ReturnID, RET_A1ADJ
  633.         );
  634.  
  635.     DoMethod(Object->SL_A2ADJ,
  636.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  637.         Object->App,
  638.         2,
  639.         MUIM_Application_ReturnID, RET_A2ADJ
  640.         );
  641.  
  642.     DoMethod(Object->SL_A3ADJ,
  643.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  644.         Object->App,
  645.         2,
  646.         MUIM_Application_ReturnID, RET_A3ADJ
  647.         );
  648.  
  649.     DoMethod(Object->SL_ARTIC,
  650.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  651.         Object->App,
  652.         2,
  653.         MUIM_Application_ReturnID, RET_ARTIC
  654.         );
  655.  
  656.     DoMethod(Object->SL_AVBIAS,
  657.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  658.         Object->App,
  659.         2,
  660.         MUIM_Application_ReturnID, RET_AVBIAS
  661.         );
  662.  
  663.     DoMethod(Object->SL_AFBIAS,
  664.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  665.         Object->App,
  666.         2,
  667.         MUIM_Application_ReturnID, RET_AFBIAS
  668.         );
  669.  
  670.     DoMethod(Object->SL_CENT,
  671.         MUIM_Notify, MUIA_Slider_Level, MUIV_EveryTime,
  672.         Object->App,
  673.         2,
  674.         MUIM_Application_ReturnID, RET_CENT
  675.         );
  676.  
  677.     DoMethod(Object->STR_TEXT,
  678.         MUIM_Notify, MUIA_String_Acknowledge, MUIV_EveryTime,
  679.         Object->App,
  680.         2,
  681.         MUIM_Application_ReturnID, RET_TEXT
  682.         );
  683.  
  684.     DoMethod(Object->BT_SPEAK,
  685.         MUIM_Notify, MUIA_Pressed, FALSE,
  686.         Object->App,
  687.         2,
  688.         MUIM_Application_ReturnID, RET_SPEAK
  689.         );
  690.  
  691.     DoMethod(Object->WIN_Main,
  692.         MUIM_Window_SetCycleChain, Object->TX_label_0,
  693.         Object->CY_SEX,
  694.         Object->TX_label_1,
  695.         Object->CY_KIND,
  696.         Object->TX_label_4CC,
  697.         Object->CY_OUTPUT,
  698.         Object->TX_label_2,
  699.         Object->SL_HEIGHT,
  700.         Object->TX_label_3,
  701.         Object->SL_SPEED,
  702.         Object->TX_label_4,
  703.         Object->SL_VOLUME,
  704.         Object->TX_label_lang,
  705.         Object->CY_LANGUAGE,
  706.         Object->TX_label_5,
  707.         Object->SL_ENTHUSIASMUS,
  708.         Object->TX_label_6,
  709.         Object->SL_PERTUBATION,
  710.         Object->TX_F1ADJ,
  711.         Object->SL_F1ADJ,
  712.         Object->TX_F2ADJ,
  713.         Object->SL_F2ADJ,
  714.         Object->TX_F3ADJ,
  715.         Object->SL_F3ADJ,
  716.         Object->TX_A1ADJ,
  717.         Object->SL_A1ADJ,
  718.         Object->TX_A2ADJ,
  719.         Object->SL_A2ADJ,
  720.         Object->TX_A3ADJ,
  721.         Object->SL_A3ADJ,
  722.         Object->TX_ARTIC,
  723.         Object->SL_ARTIC,
  724.         Object->TX_AVBIAS,
  725.         Object->SL_AVBIAS,
  726.         Object->TX_AFBIAS,
  727.         Object->SL_AFBIAS,
  728.         Object->TX_CENT,
  729.         Object->SL_CENT,
  730.         Object->STR_TEXT,
  731.         Object->TX_PHONEME,
  732.         Object->BT_SPEAK,
  733.         0
  734.         );
  735.  
  736.     DoMethod(Object->WIN_About,
  737.         MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
  738.         Object->WIN_About,
  739.         3,
  740.         MUIM_Set, MUIA_Window_Open, FALSE
  741.         );
  742.  
  743.     DoMethod(Object->BT_OK,
  744.         MUIM_Notify, MUIA_Pressed , FALSE,
  745.         Object->WIN_About,
  746.         3,
  747.         MUIM_Set, MUIA_Window_Open, FALSE
  748.         );
  749.  
  750.     DoMethod(Object->WIN_About,
  751.         MUIM_Window_SetCycleChain, Object->TX_label_7,
  752.         Object->BT_OK,
  753.         0
  754.         );
  755.  
  756.     set(Object->WIN_Main,
  757.         MUIA_Window_Open, TRUE
  758.         );
  759.  
  760.  
  761.     return(Object);
  762. }
  763.  
  764. void DisposeApp(struct ObjApp * Object)
  765. {
  766.     MUI_DisposeObject(Object->App);
  767.     FreeVec(Object);
  768. }
  769.